package com.gcloud.core.workflow.dao;

import java.util.Date;
import java.util.List;

import com.gcloud.core.workflow.entity.WorkFlowInstanceStep;
import com.gcloud.framework.db.dao.IJdbcBaseDao;
/**
Copyright (c) [2020] [G-CLOUD TECHNOLOGY] [G-Cloud 8.0] is licensed under the Mulan PSL v1.
You can use this software according to the terms and conditions of the Mulan PSL v1. You may obtain
a copy of Mulan PSL v1 at: http://license.coscl.org.cn/MulanPSL THIS SOFTWARE IS PROVIDED ON AN 
"AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v1 for more details.
 */


public interface IWorkFlowInstanceStepDao  extends IJdbcBaseDao<WorkFlowInstanceStep, Long>{
	public List<WorkFlowInstanceStep> getStepsByIds(Long flowId, String toIds);

	public List<WorkFlowInstanceStep> getNextRollBackSteps(Long flowId, boolean rollbackFailContinue);
	
	public WorkFlowInstanceStep getLastedSuccessStep(Long flowId);
	
	public List<WorkFlowInstanceStep> getAllNotFinishedStep();
	
	public List<String> getFirstStepRess(Long flowTaskId);
	
	public List<String> getLastStepRess(Long flowTaskId);
	
	public List<WorkFlowInstanceStep> getStepsByTaskId(String taskId);
	
	public List<WorkFlowInstanceStep> getRepeatSteps(Long flowId,Integer stepId);
	
	public WorkFlowInstanceStep getFirstStep(Long flowId);
	
	public void deleteExpireData(Long maxInstanceId);
}